package br.edu.ufc.deti.beans;

import java.io.File;

import br.edu.ufc.deti.util.Sigmoid;

public class Aplicacao {
	private String nome;
	private String base;
	private File arquivo;
	private String sequencia;
	private String resultApp;
	private Double desempenhoMinimo;
	
	private Float valorMemoria;
	private Float valorProcessador;
	private Float valorRedeInterna;
	private Float valorRedeExterna;

	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public Float getValorMemoria() {
		return valorMemoria;
	}
	public void setValorMemoria(Float valorMemoria) {
		this.valorMemoria = valorMemoria;
	}
	public Float getValorProcessador() {
		return valorProcessador;
	}
	public void setValorProcessador(Float valorProcessador) {
		this.valorProcessador = valorProcessador;
	}
	public Float getValorRedeInterna() {
		return valorRedeInterna;
	}
	public void setValorRedeInterna(Float valorRedeInterna) {
		this.valorRedeInterna = valorRedeInterna;
	}
	public Float getValorRedeExterna() {
		return valorRedeExterna;
	}
	public void setValorRedeExterna(Float valorRedeExterna) {
		this.valorRedeExterna = valorRedeExterna;
	}
	public String getBase() {
		return base;
	}
	public void setBase(String base) {
		this.base = base;
	}
	public File getArquivo() {
		return arquivo;
	}
	public void setArquivo(File arquivo) {
		this.arquivo = arquivo;
	}
	public String getSequencia() {
		return sequencia;
	}
	public void setSequencia(String sequencia) {
		this.sequencia = sequencia;
	}
	public String getResultApp() {
		return resultApp;
	}
	public void setResultApp(String resultApp) {
		this.resultApp = resultApp;
	}
	public Double getDesempenhoMinimo() {
		return desempenhoMinimo;
	}
	public void setDesempenhoMinimo(Float pesoMemoria, Float pesoProc, Float pesoRedeInterna, Float pesoRedeExterna) {
		float parcelaMem = pesoMemoria.floatValue()*valorMemoria.floatValue();
		float parcelaProc = pesoProc.floatValue()*valorProcessador.floatValue();
		float parcelaRedeInterna = pesoRedeInterna.floatValue()*valorRedeInterna.floatValue();
		float parcelaRedeExterna = pesoRedeExterna.floatValue()*valorRedeExterna.floatValue();
		float somaPesos = pesoMemoria.floatValue()+pesoProc.floatValue()+
							pesoRedeInterna.floatValue()+pesoRedeExterna.floatValue();
		Double desempenhoMinimoDouble = new Double((parcelaRedeExterna+parcelaRedeInterna+parcelaMem+parcelaProc)/somaPesos);
		desempenhoMinimo = Sigmoid.sigmoid( desempenhoMinimoDouble );
	}	
}
